import requests
from config import url, headers_web, headers_wechat


class CourseTableResource:

    def __int__(self):
        self.url = url
        self.headers = headers_web
        self.headers = headers_wechat

    @classmethod
    def post_runningnum(cls, url: str, params=None, json=None, headers=headers_web):
        """
        @Summary:根据学年学期,课程，学期获取运行数据
        @Description:云课堂：课程画像-课程整体数据使用
        :param url:
        :param params:
        :param json: post方式，json传参
        :return:
        """
        pass

    @classmethod
    def get_studentmembernum(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:根据学年学期,课程，学期获取开课人数
        @Description:云课堂：课程画像-课程整体数据使用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_teachercourseList(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:根据老师Id和学期查询课表信息
        @Description:云课堂前端使用
        :param url:
        :param params:
        :return:
        """
        url = url + "/courseApi/v1/courseTables/teacherCourseList"
        r = requests.get(url=url, headers=headers, params=params)

        return r

    @classmethod
    def get_teacherclasses(cls, url: str, params=None, headers=headers_wechat):
        """
        @Summary:根据老师Id和学期查询班级信息
        @Description:云课堂小程序端使用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_term(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:获取开课课程学期信息
        @Description:老师web端-课程公告新增
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_coursetables(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:根据课程id，老师Id和学期查询课表信息
        @Description:云课堂前端使用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def post_coursetables(cls, url: str, params=None, json=None, headers=headers_web):
        """
        @Summary:保存课表信息
        @Description:数据对接使用
        :param url:
        :param params:
        :param json:
        :return:
        """
        pass

    @classmethod
    def get_basicinfos(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:接口-获取开课课程信息
        @Description:云课堂管理端项目管理使用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_courseoccupancylablist(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:获取课程占用实验室信息
        @Description:teaching项目使用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_coursetablebyroomidandnowtime(cls, url: str, params=None, headers=headers_wechat):
        """
        @Summary:获取教室当前时间课表信息
        @Description:小程调用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_coursetableinfolist(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:获取课表信息
        @Description:信息发布服务项目调用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def post_teachingschedules(cls, url: str, params=None, json=None, headers=headers_web):
        """
        @Summary:接口-获取所有开课教学日历相关信息
        @Description:云课堂管理端教学任务使用
        :param url:
        :param params:
        :param json:
        :return:
        """
        pass

    @classmethod
    def get_baseinfo(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:根据课表id获取课表基本信息
        @Description:云课堂管理端根据课表获取教学计划使用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_coursetablesinfo(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:根据学生Id,课程id和学期查询课表信息
        @Description:云课堂前端使用
        :param url:
        :param params:
        :return:
        """
        url = url + "/courseApi/v1/coursetables"
        r = requests.get(url=url, headers=headers, params=params)
        return r

    @classmethod
    def post_coursetablesdayorweek(cls, url: str, params=None, json=None, headers=headers_wechat):
        """
        @Summary:获取课表信息（日课表，周课表公用）
        @Description:小程序调用
        :param url:
        :param params:
        :param json:
        :return:
        """
        pass

    @classmethod
    def get_realtimeschedule(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:获取课表信息（实时课表）
        @Description:电子班牌调用（1：实时课表；2：巡课）
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def get_courseinfos(cls, url: str, params=None, headers=headers_web):
        """
        @Summary:根据学年学期获取开课信息
        @Description:期末评教对接使用
        :param url:
        :param params:
        :return:
        """
        pass

    @classmethod
    def post_teachercourselist(cls, url: str, params=None, json=None, headers=headers_web):
        """
        @Summary:根据老师Ids和课程ids和学期查询课表信息
        @Description:云课堂学生端助教课程使用
        :param url:
        :param params:
        :param json:
        :return:
        """
        pass
